<?php
class PruebasEstudiantesController extends AppController {

	var $name = 'PruebasEstudiantes';
	var $helpers=array('Access');
	var $uses = array('PruebasEstudiante', 'Criterio', 'User', 'Group', 'UsersEquiposOperativo', 'Estudiante', 'Zona', 'Municipio', 'CentroApoyoEscolare');

	function index() {
		$this->PruebasEstudiante->recursive = 0;
		$estudiantes = $this->PruebasEstudiante->Estudiante->find('list',array('fields'=>array('Estudiante.nombre_completo')));
		$this->set('pruebasEstudiantes', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid pruebas estudiante', true));
			$this->redirect(array('action' => 'index'));
		}
		$estudiantes = $this->PruebasEstudiante->Estudiante->find('list',array('fields'=>array('Estudiante.id','Estudiante.nombre_completo')));
		$this->set('pruebasEstudiante', $this->PruebasEstudiante->read(null, $id));		
	}

	function add() {
		if (!empty($this->data)) {
			$this->PruebasEstudiante->create();
			if ($this->PruebasEstudiante->save($this->data)) {
				$this->Session->setFlash(__('La prueba del estudiante ha sido guardada.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('La prueba del estudiante no ha sido guardada. Por favor intente de nuevo.', true));
			}
		}
		$grados = $this->PruebasEstudiante->Grado->find('list',array('fields'=>array('Grado.nombre')));
		$estudiantes = $this->PruebasEstudiante->Estudiante->find('list',array('fields'=>array('Estudiante.nombre_completo')));
		$this->set(compact('grados', 'estudiantes'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid pruebas estudiante', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->PruebasEstudiante->save($this->data)) {
				$this->Session->setFlash(__('La prueba del estudiante ha sido guardada.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('La prueba del estudiante no ha sido guardada. Por favor intente de nuevo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->PruebasEstudiante->read(null, $id);
		}
		$grados = $this->PruebasEstudiante->Grado->find('list',array('fields'=>array('Grado.nombre')));
		$estudiantes = $this->PruebasEstudiante->Estudiante->find('list',array('fields'=>array('Estudiante.nombre_completo')));
		$this->set(compact('grados', 'estudiantes'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for pruebas estudiante', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->PruebasEstudiante->delete($id)) {
			$this->Session->setFlash(__('Pruebas estudiante eliminada', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Pruebas estudiante no se ha podido eliminar', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function pruebas_caes() {
    	$grupo = $this->Access->getMy('group_id');
		$nombre_grupo = $this->Group->read('nombre',$grupo);
		$nombre_grupo = $nombre_grupo['Group']['nombre'];
		$caes;
		if($nombre_grupo != "Administrador"){			
			//Se traen los que son de Docentes
			$caes = $this->Estudiante->CentroApoyoEscolare->find('all',array('conditions'=>array('CentroApoyoEscolare.user_id'=>$this->Access->getMy('id'))));
			// Si no hay CAES asignados al usuario se traen los del Equipo Operativo			
			if(empty($caes)){
				$eo = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.user_id'=>$this->Access->getMy('id'))));
				$eo = $eo['UsersEquiposOperativo']['equipos_operativo_id'];				
				$caes = $this->Estudiante->CentroApoyoEscolare->find('all',array('conditions'=>array('CentroApoyoEscolare.equipos_operativo_id'=>$eo)));				
			}			
		}else{
			//Se traen todos los CAES
			$caes = $this->Estudiante->CentroApoyoEscolare->find('all');
		}
		
		foreach ($caes as &$cae):
			$zona = $this->Zona->read('municipio_id',$cae['EquiposOperativo']['zona_id']);
			$municipio = $this->Municipio->read('nombre',$zona['Zona']['municipio_id']);
			$cae['nombre_equipo'] = $municipio['Municipio']['nombre'];
		endforeach;				
	
		$this->set(compact('caes'));	
    	 	
	}
	
	function pruebas_estudiantes($caes = null){
    	
    	$estudiantes = $this->paginate('Estudiante', array('Estudiante.centro_apoyo_escolare_id'=>$caes));
    	$cae_presente = $this->CentroApoyoEscolare->find('first',array('conditions'=>array('CentroApoyoEscolare.id'=>$caes)));
		$docente = $this->User->find('first',array('conditions'=>array('User.id'=>$caes)));
    		
		$this->set(compact('estudiantes', 'cae_presente', 'docente'));
    	
    }

    function prueba_inicial($estudiante_id = null){
    	
    	$estudiante = $this->Estudiante->read(null, $estudiante_id);
    	//Criterios ordenados por grado y area    	
    	$criterios=array();
    	$m = $l = $d = 0;
    	/*
    	for($i=1; $i<=6; $i++):
    		$lista = $this->Criterio->find('all',array('conditions'=>array('Criterio.primaria'=>$i)));
    		foreach ($lista as $item):
    			
    		endforeach;
    		die(var_dump($lista));
    	endfor; 
    	*/
    	$this->set(compact('estudiante','criterios'));
    }    
	
}
